/**
 * 
 */
package com.tosee.ws.model;

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlRootElement;

import org.apache.commons.collections.CollectionUtils;

import com.tosee.model.allocine.AlloActeur;
import com.tosee.model.allocine.AlloSaison;
import com.tosee.model.allocine.AlloSerie;

/**
 * @author robint
 */
@XmlRootElement
public class WSSerie extends WSObject {

    private Integer code;

    private String titre;

    private String titreVo;

    private String urlImage;

    private List<WSSaison> listeSaison;

    private List<WSActeur> listeActeur;

    /**
     * Constructeur par défaut.
     */
    public WSSerie() {
        super();
    }

    /**
     * Constructeur copie
     * 
     * @param serie
     */
    public WSSerie(AlloSerie _serie) {
        if(_serie != null) {
            code = _serie.getCode();
            titre = _serie.getTitre();
            titreVo = _serie.getTitreVo();
            urlImage = _serie.getUrlImage();
            List<AlloSaison> listeSaison = _serie.getListeSaison();
            if(CollectionUtils.isNotEmpty(listeSaison)) {
                this.listeSaison = new ArrayList<WSSaison>(listeSaison.size());
                for(AlloSaison sais : listeSaison) {
                    this.listeSaison.add(new WSSaison(sais));
                }
            }
            List<AlloActeur> listeActeur = _serie.getListeActeur();
            if(CollectionUtils.isNotEmpty(listeActeur)) {
                this.listeActeur = new ArrayList<WSActeur>(listeActeur.size());
                for(AlloActeur act : listeActeur) {
                    this.listeActeur.add(new WSActeur(act));
                }
            }
        }
    }

    /**
     * @return the code
     */
    public Integer getCode() {
        return code;
    }

    /**
     * @param code the code to set
     */
    public void setCode(Integer code) {
        this.code = code;
    }

    /**
     * @return the titreVo
     */
    public String getTitreVo() {
        return titreVo;
    }

    /**
     * @param titreVo the titreVo to set
     */
    public void setTitreVo(String titreVo) {
        this.titreVo = titreVo;
    }

    /**
     * @return the urlImage
     */
    public String getUrlImage() {
        return urlImage;
    }

    /**
     * @param urlImage the urlImage to set
     */
    public void setUrlImage(String urlImage) {
        this.urlImage = urlImage;
    }

    /**
     * @return the titre
     */
    public String getTitre() {
        return titre;
    }

    /**
     * @param titre the titre to set
     */
    public void setTitre(String titre) {
        this.titre = titre;
    }

    /**
     * @return the listeSaison
     */
    public List<WSSaison> getListeSaison() {
        return listeSaison;
    }

    /**
     * @param listeSaison the listeSaison to set
     */
    public void setListeSaison(List<WSSaison> listeSaison) {
        this.listeSaison = listeSaison;
    }

    /**
     * @return the listeActeur
     */
    public List<WSActeur> getListeActeur() {
        return listeActeur;
    }

    /**
     * @param listeActeur the listeActeur to set
     */
    public void setListeActeur(List<WSActeur> listeActeur) {
        this.listeActeur = listeActeur;
    }

}
